@@ -17,6 +17,7 @@ urlpatterns += [ |
||
17 | 17 |
|
18 | 18 |
urlpatterns += [ |
19 | 19 |
url(r'^pay/wx/order_create$', pay_views.wx_order_create_api, name='wx_order_create_api'), # 订单创建 |
20 |
+ url(r'^pay/wx/order/cancel$', pay_views.order_cancel, name='order_cancel'), # 订单创建 |
|
20 | 21 |
url(r'^pay/wx/notify_url$', pay_views.wx_notify_url_api, name='wx_notify_url_api'), # 支付异步通知回调地址 |
21 | 22 |
] |
22 | 23 |
|
@@ -142,6 +142,31 @@ def wx_order_create_api(request): |
||
142 | 142 |
'wxpay_params': wxpay_params, |
143 | 143 |
}) |
144 | 144 |
|
145 |
+def order_cancel(request): |
|
146 |
+ user_id = request.POST.get('user_id', '') |
|
147 |
+ order_id = request.POST.get('order_id', '') |
|
148 |
+ prepay_id = request.POST.get('prepay_id', '') |
|
149 |
+ |
|
150 |
+ try: |
|
151 |
+ order = OrderInfo.objects.get(user_id=user_id, order_id=order_id, prepay_id=prepay_id) |
|
152 |
+ except: |
|
153 |
+ return response() |
|
154 |
+ |
|
155 |
+ if order.pay_status == OrderInfo.FAIL: |
|
156 |
+ return response(200, 'Order Cancel Success', '订单取消成功') |
|
157 |
+ |
|
158 |
+ order.pay_status = OrderInfo.FAIL |
|
159 |
+ order.save() |
|
160 |
+ |
|
161 |
+ for g in order.goods_info: |
|
162 |
+ try: |
|
163 |
+ good = PackGoodsInfo.objects.get(pack_id=order.pack_id, good_id=g.get('good_id', '')) |
|
164 |
+ good.inventory += g.get('num', 0) |
|
165 |
+ good.save() |
|
166 |
+ except PackGoodsInfo.DoesNotExist: |
|
167 |
+ continue |
|
168 |
+ |
|
169 |
+ return response(200, 'Order Cancel Success', '订单取消成功') |
|
145 | 170 |
|
146 | 171 |
def order_paid_success(order): |
147 | 172 |
if order.pay_status == OrderInfo.PAID: |